package com.li.observerpattern;

import java.util.ArrayList;

/**
 * @author lirenchun
 */
public abstract class Subject {
    /**
     * 观察者集合
     */
    public ArrayList observerList = new ArrayList();

    /**
     * 添加观察者对象
     *
     * @param observer
     */
    public void addObserver(Observer observer) {
        observerList.add(observer);
    }

    /**
     * 移除观察者
     *
     * @param observer
     */
    public void removeObserver(Observer observer) {
        observerList.remove(observer);
    }

    /**
     * 抽象通知观察者得到方法
     */
    public abstract void notifyObserver();

}
